package org.liveboardgames.agricola.vo.player
{
	import com.adobe.cairngorm.vo.IValueObject;

	import org.liveboardgames.agricola.vo.common.Target;

	/**
	 * The player class is an abstraction of a real player
	 * from the original Agricola game.
	 */
	[RemoteClass(alias="org.liveboardgames.agricola.domain.player.Score")]
	[Bindable]
	public class Score implements Target, IValueObject
	{
		public var fields:int;
		public var pastures:int;
		public var grains:int;
		public var vegetables:int;
		public var sheep:int;
		public var boar:int;
		public var cattle:int;
		public var freeSpace:int;
		public var fencedStable:int;
		public var clayHouse:int;
		public var stoneHouse:int;
		public var familyMember:int;
		public var cards:int;
		public var specialPoints:int;

		public function total():int
		{
			return fields + pastures + grains + vegetables + sheep + boar + cattle + freeSpace + fencedStable + clayHouse +
				stoneHouse + familyMember + cards + specialPoints;
		}
	}
}